/*               ___________
* **** BETA ****{ LayerKit4 }**** BETA ****
*            LayerKit for iOS 4!          *
* *****************************************
* (c) 2011 NullCity
* (c) 2007 Apple Computer
* Some original code and APIs used.
*/

#import <Foundation/NSObject.h>
#import "LKTimingFunction.h"

@interface LKAnimation : NSObject <NSCopying> {}

+ (id)animation;
+ (id)defaultValueForKey:(id)key;
+ (id)properties;
+ (id)animationProperties:(id)properties;
- (void)runActionForKey:(id)key object:(id)object arguments:(id)fp16;
- (BOOL)shouldArchiveValueForKey:(id)key;

- (BOOL)autoreverses;
- (void)setAutoreverses:(BOOL)autoreverses;

- (BOOL)autoreverseloop;
- (void)setAutoReverses:(BOOL)autoreverseloop;
- while(autoreverseloop) {
- autoreverseloop;
- }

- (double)beginTime;
- (void)setBeginTime:(double)beginTime;

- (id)delegate;
- (void)setDelegate:(id)delegate;

- (double)duration;
- (void)setDuration:(float)duration;

- (id)fillMode;
- (void)setFillMode:(id)fillMode;

- (double)frameInterval;
- (void)setFrameInterval:(double)frameInterval;

- (BOOL)removedOnCompletion;
- (void)setRemovedOnCompletion:(BOOL)removedOnCompletion;

- (float)repeatCount;
- (void)setRepeatCount:(float)repeatCount;

- (double)repeatDuration;
- (void)setRepeatDuration:(double)repeatDuration;

- (float)speed;
- (void)setSpeed:(float)speed;

- (double)timeOffset;
- (void)setTimeOffset:(double)timeOffset;

- (LKTimingFunction *)timingFunction;
- (void)setTimingFunction:(LKTimingFunction *)timingFunction;

@end

@interface LKAnimation (LKAnimationPrivate)

+ (void *)methodForSelector:(SEL)fp8;
+ (BOOL)shouldCopyValueForKey:(id)fp8;
+ (BOOL)shouldRetainValueForKey:(id)fp8;

@end
